home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / FAQs / SGIfaqs / Performer-faq < prev    next >
Internet Message Format  |  1994-08-01  |  23KB

  1. Xref: odin comp.sys.sgi.misc:9155 comp.answers:4799 news.answers:20656
  2. From: sgi-faq@viz.tamu.edu (The SGI FAQ group)
  3. Newsgroups: comp.sys.sgi.misc,comp.answers,news.answers
  4. Subject: SGI performer Frequently Asked Questions (FAQ)
  5. Followup-To: comp.sys.sgi.misc
  6. Date: 6 Apr 1994 20:12:37 GMT
  7. Organization: Visualization Lab, Texas A&M University
  8. Lines: 635
  9. Expires: 4 May 1994 20:11:14 GMT
  10. Reply-To: sgi-faq@viz.tamu.edu (The SGI FAQ group)
  11. Originator: sgi-faq@viz
  12.  
  13. Archive-name: sgi/faq/performer
  14. Last-modified: Tue Feb 22 11:52:23 CST 1994
  15.  
  16.     SGI performer Frequently Asked Questions (FAQ)
  17.  
  18. This is one of the Silicon Graphics FAQ series, which consists of:
  19.  
  20.     SGI admin FAQ - IRIX system administration
  21.     SGI apps FAQ - Applications & compilers
  22.     SGI graphics FAQ - Graphics and user environment customization
  23.     SGI hardware FAQ - Hardware
  24.     SGI misc FAQ - Introduction & miscellaneous information
  25.     SGI performer FAQ - IRIS Performer
  26.     SGI pointer FAQ - Pointer to the other FAQs
  27.  
  28. Read the misc FAQ for information about the FAQs themselves.  Each FAQ
  29. is posted to comp.sys.sgi.misc and to the news.answers and comp.answers
  30. newsgroups (whose purpose is to store FAQs) twice per month.  If you
  31. can't find one of the FAQs with your news program, you can get it by
  32. anonymous FTP from one of these sites:
  33.  
  34.     rtfm.mit.edu:/pub/usenet/comp.sys.sgi.misc/
  35.     rtfm.mit.edu:/pub/usenet/news.answers/sgi/faq/
  36.     rtfm.mit.edu:/pub/usenet/comp.answers/sgi/faq/
  37.     viz.tamu.edu:/pub/sgi/faq/
  38.  
  39. Note that rtfm.mit.edu is home to many other FAQs and informational
  40. documents, and is a good place to look if you can't find an answer
  41. here. If you can't use FTP, send mail to mail-server@rtfm.mit.edu with
  42. the command 'send usenet/news.answers/ftp-list/faq' on a line by itself
  43. in the text, and it will send you a document describing how to FTP by
  44. mail. You can also read a hypertext version of the FAQs at
  45.  
  46.     http://www.cis.ohio-state.edu/hypertext/faq/usenet/sgi/top.html
  47.  
  48. The SGI FAQs are freely distributable and wide circulation is encouraged.
  49. The contents are accurate as far as we know, but the usual disclaimers
  50. apply. Please send additions and changes to sgi-faq@viz.tamu.edu.
  51.  
  52. Topics covered in this FAQ:
  53. ---------------------------
  54.    -1- What is IRIS Performer?
  55.    -2- Where can I get more technical information about IRIS Performer?
  56.    -3- Where can I get more product information about IRIS Performer?
  57.    -4- How does IRIS Performer relate to IRIS Inventor?
  58.    -5- What are the released versions of IRIS Performer?
  59.    -6- Is there a IRIS Performer file format?
  60.    -7- What database file formats can IRIS Performer read?
  61.    -8- Is there an IRIS Inventor file reader for IRIS Performer?
  62.    -9- What are the .tlf files used by the Performer Town and Village?
  63.   -10- What are the minimum requirements for using IRIS Performer?
  64.   -11- How do I make GL calls from within a IRIS Performer program?
  65.   -12- How do I overlay graphics on top of my Performer scene?
  66.   -13- What is the difference between phases FREE, FLOAT, and LOCK?
  67.   -14- Which rendering primitives does IRIS Performer support?
  68.   -15- How do I do triangle meshes in Performer?
  69.   -16- pfInit(): mmap failed for /dev/zero
  70.   -17- IRIX 5.x Bug in Performer Town or Village demos
  71.   -18- 1.0 Doc Bug in pfMakePolarSeg() man page
  72.   -19- 1.0 Doc Bug in pfDispList() man page
  73.   -20- 1.0 Doc Bug in PFPG (simple.c)
  74.   -21- 1.0 Bug in pfGetTime()
  75.   -22- 1.0 Bug in pfNodeBBox()
  76.   -23- 1.0 Bug in pfInitGfx() with Z-buffer on RealityEngine
  77.   -24- 1.0 Bug in libpfflt combineLODs()
  78.   -25- 1.0 Bug with two-sided material and pfMtlColorMode()
  79.   -26- 1.0 Bug in pfFilePath()
  80.   -27- 1.0 Bug in pfGetCurGState()
  81.   -28- 1.0 Bug in pfGetCurState()
  82.   -29- 1.0 Bug with cloned scenes
  83.   -30- 1.0 Bug intersections in collide.c
  84.   -31- 1.0 Bug with flattened pfLightPoints
  85.   -32- 1.0 Bug intersections with pfSequences
  86.   -33- 1.0 Bug intersections with non-indexed quads
  87.   -34- 1.0/1.1 Bug intersections with pfSwitch'es
  88.   -35- 1.0/1.1 Bug with pfTexture()
  89.   -36- 1.0/1.1 Bug with pfAntiAlias()
  90.   -37- 1.0/1.1 Bug with pfFlatten()
  91.   -38- 1.0/1.1 Bug with pfSequences
  92.   -39- 1.0/1.1 Bug with pfClosestPtOnPlane()
  93.   -40- 1.0/1.1 Bug on ELAN/XS with wireframe PFGS_QUADS
  94.   -41- 1.1 Bug with FP underflow
  95.   -42- 1.1 Bug with Multipipe Onyx
  96.  
  97. ----------------------------------------------------------------------
  98.  
  99. Subject:    -1- What is IRIS Performer?
  100. Date: 06 Oct 93 00:00:01 EST
  101.  
  102. IRIS Performer is a software development environment that supports
  103. programmers implementing high performance graphics applications on
  104. Silicon Graphics products.  It offers both high level facilities for
  105. visual simulation and virtual reality tasks and an application-neutral
  106. high-performance hardware-oriented graphics toolkit.
  107.  
  108. The outer application specific layer of IRIS Performer implements the
  109. tasks needed by visual simulation applications: it performs culling so
  110. that only potentially visable geometry is sent to the graphics
  111. hardware; it controls multiple display channels; it provides fast
  112. intersection tests with simulation databases; and most importantly, it
  113. orchestrates all of this in parallel with rendering on multiple
  114. processor IRIS systems.
  115.  
  116. The lower-level rendering portion of IRIS Performer is designed for
  117. maximum performance: its efficient data structures reflect the details
  118. of CPU, cache, and memory system architectures; its tuned rendering
  119. loops convert the system CPU into an optimized data movement engine;
  120. and its optimized state management system optimizes hardware
  121. utilization.
  122.  
  123. IRIS Performer provides a high-performance portability path across the
  124. Silicon Graphics product line. The low level library is implemented as
  125. a hardware-specific shared library, so applications based on IRIS
  126. Performer can achieve peak performance on graphics systems from Elan to
  127. RealityEngine2 without changes or recompilation.
  128.  
  129. The product includes a programmer's guide and printed man pages, as
  130. well as on-line man pages, test and demonstration programs, and
  131. complete real-time visual simulation applications. These applications
  132. are provided in source form as an examples of how to build real-time
  133. simulation systems using IRIS Performer. Also included are several
  134. databases in FLIGHT and Wavefront "OBJ" format and source code for
  135. database readers that can load them.
  136.  
  137. ------------------------------
  138.  
  139. Subject:    -2- Where can I get more technical information about IRIS
  140.                 Performer?
  141. Date: 06 Oct 93 00:00:01 EST
  142.  
  143. One method is to join the IRIS Performer mailing list.
  144.  
  145. The list is intended to be an unmoderated, free-form discussion of IRIS
  146. Performer with issues both technical and non-technical; and to provide
  147. feedback to Silicon Graphics about the product.  Much like the
  148. comp.sys.sgi.* newsgroups, it is not an official support channel but is
  149. monitored by several interested SGI employees familiar with the
  150. toolkit.
  151.  
  152. To become a subscriber to the IRIS Performer mailing list you must send
  153. email to:
  154.  
  155.     info-performer-request@sgi.com
  156.  
  157. New subscribers are added "by hand".  Once your request is processed
  158. you will receive submission/posting instructions, some guidelines, and
  159. a current copy of the Performer Frequently-Asked-Questions (FAQ) list.
  160.  
  161. ------------------------------
  162.  
  163. Subject:    -3- Where can I get more product information about IRIS
  164.                 Performer?
  165. Date: 06 June 93 00:00:01 EST
  166.  
  167. For product information about IRIS Performer or SGI Visual Simulation
  168. issues contact John Burwell <johnnyb@asd.sgi.com>.  To learn about SGI
  169. Virtual Reality solutions contact Joshua Mogal (415) 390-1460
  170. <mogal@asd.sgi.com>.  To just give in and buy a copy ($495 US) call SGI
  171. Direct (see the misc FAQ for phone numbers) or to have both a
  172. demonstration and a presentation call your local SGI sales office.
  173.  
  174. ------------------------------
  175.  
  176. Subject:    -4- How does IRIS Performer relate to IRIS Inventor?
  177. Date: 26 June 93 00:00:01 EST
  178.  
  179. The short answer is, Performer was designed for vis-sim, while Inventor
  180. was designed to be more general purpose.
  181.  
  182. IRIS Performer is for developers who need to extract maximum
  183. performance from SGI machines for visual simulation, virtual reality,
  184. game development, and high-end CAD systems.  Often these applications
  185. need multi-processor Onyx systems with multiple RealityEngine pipelines
  186. with a high degree of parallelism and running at fixed frame rates.
  187.  
  188. Inventor is designed for maximum programmer productivity when writing
  189. other kinds of 3D applications, like modelling, animation,
  190. visualization, etc.
  191.  
  192. Both toolkits are general purpose enough that they could be extended
  193. into the domain of the other, but the question you should consider is
  194. "what is the *fundamental* goal of my graphics development?" If it's
  195. portability to non-SGI systems, easy X-window system integration, or
  196. handy graphic widgets, IRIS Inventor is for you.  If it's brochure-
  197. level performance in advanced graphic applications for the specific
  198. domains listed above, then IRIS Performer would be the likely tool.
  199.  
  200. ------------------------------
  201.  
  202. Subject:    -5- What are the released versions of IRIS Performer?
  203. Date: 06 Oct 93 00:00:01 EST
  204.  
  205. IRIS Performer 1.0:  For machines running IRIX 4.x only
  206. IRIS Performer 1.1:  For machines running IRIX 5.x only
  207.  
  208. IRIS Performer 1.2 is currently in an early stage of beta testing.
  209. It will run on machines running either IRIX 4.x or IRIX 5.x
  210.  
  211. ------------------------------
  212.  
  213. Subject:    -6- Is there a IRIS Performer file format?
  214. Date: 26 Oct 93 00:00:01 EST
  215.  
  216. Not at this time.  A binary file format is a desired feature for a
  217. future release.  Currently, IRIS Performer has functionality to load
  218. other vendors' database files at run time.
  219.  
  220. ------------------------------
  221.  
  222. Subject:    -7- What database file formats can IRIS Performer read?
  223. Date: 26 Oct 93 00:00:01 EST
  224.  
  225. IRIS Performer 1.0 and 1.1 include database loaders for MultiGen v11
  226. "flt", SGI "bin", and SGI "obj" formats.
  227.  
  228. IRIS Performer 1.2 will include loading utilities and file loaders for
  229. additional file formats, including Coryphaeus "dwb", MultiGen v12
  230. "flt", AutoCAD "dxf", and Wavefront "obj".
  231.  
  232. You can get a MultiGen 12 version of LoadFlt() for Performer 1.0 and
  233. 1.1 by contacting Norm Miller at Software Systems, the makers of
  234. MultiGen.
  235.  
  236.     Mr. Norm Miller
  237.     Software Systems
  238.     1884 The Alameda
  239.     San Jose, CA  95126
  240.     P: (408) 247-4326
  241.     F: (408) 247-4329
  242.     multigen!norm@uunet.UU.NET
  243.  
  244. ------------------------------
  245.  
  246. Subject:    -8- Is there an IRIS Inventor file reader for IRIS
  247.                 Performer?
  248. Date: 26 Oct 93 00:00:01 EST
  249.  
  250. Not at this time.  An IRIS Inventor file reader is a planned
  251. feature for Performer 1.2.
  252.  
  253. ------------------------------
  254.  
  255. Subject:    -9- What are the .tlf files used by the Performer Town and
  256.                 Village?
  257. Date: 26 Oct 93 00:00:01 EST
  258.  
  259. They are encrypted .flt files of the Town and Village database.  Only
  260. the "demo" version of perfly can read these files.
  261.  
  262. Unencrypted versions of the Town and Village databases are planned to
  263. be included in Performer 1.2.
  264.  
  265. ------------------------------
  266.  
  267. Subject:   -10- What are the minimum requirements for using IRIS
  268.                 Performer?
  269. Date: 06 June 93 00:00:01 EST
  270.  
  271. IRIS Performer requires IRIX 4.0.5 or later.  Because IRIX 4.0.5F added
  272. several new Graphics Library (GL) calls to support RealityEngine
  273. features, any application that uses GL routines or tokens found only in
  274. 4.0.5F and later, will not run properly under 4.0.5C and earlier
  275. releases.
  276.  
  277. ------------------------------
  278.  
  279. Subject:   -11- How do I make GL calls from within a IRIS Performer
  280.                 program?
  281. Date: 26 Oct 93 00:00:01 EST
  282.  
  283. GL calls can only be made from a process that has a GL context.  In
  284. multi-process Performer applications only the draw process has GL
  285. context, so you must make your GL calls in a function called in the
  286. draw process.
  287.  
  288. The pipe initialization callback, draw function callback, and node draw
  289. callbacks are all executed in the draw process.
  290.  
  291. In an application that only will ever run single-process, GL calls can
  292. be made from anywhere in the program.
  293.  
  294. To set up a pipe initialization callback, see the pfInitPipe() man
  295. page.  To set up a draw function callback, see the pfChanDrawFunc() man
  296. page.  To set up a node draw callback, see the pfNodeTravFuncs() man
  297. page.
  298.  
  299. ------------------------------
  300.  
  301. Subject:   -12- How do I overlay graphics on top of my Performer scene?
  302. Date: 06 Oct 93 00:00:01 EST
  303.  
  304. Typically this is done to implement a heads-up display (HUD).
  305.  
  306. In the draw function callback, the basic algorithm is:
  307.  
  308.     save state with pfPushState()
  309.     disable textures, fog, & lighting with pfBasicState()
  310.     save & clear projection matrix
  311.     ortho2()
  312.     save & clear modelling matrix
  313.     draw()
  314.     restore modelling matrix
  315.     restore projection matrix
  316.     restore state with pfPopState()
  317.  
  318. Or, you can draw your static info in the overlay planes and only redraw
  319. it when the window receives a REDRAW event (moved, resized, etc.).
  320. Changing between drawing to the overlays and drawing to regular
  321. bitplanes takes a big hit.
  322.  
  323. For things that need to be updated real-time, draw() would consist of:
  324.  
  325.     zfunction(ZF_ALWAYS);
  326.     zwritemask(0x0);
  327.     draw HUD stuff
  328.     zfunction(ZF_LEQUAL);
  329.     zwritemask(0xffffffff);
  330.  
  331. ------------------------------
  332.  
  333. Subject:   -13- What is the difference between phases FREE, FLOAT, and
  334.                 LOCK?
  335. Date: 26 Oct 93 00:00:01 EST
  336.  
  337. PFPHASE_FREE_RUN wakes the application and draw processes up on the
  338. next video field boundary after the draw finishes. i.e. it's
  339. Performer's version of the usual run as-fast-as-I-can or
  340. as-slow-as-I-must mode that most simple graphics programs use.
  341.  
  342. PFPHASE_FLOAT wakes the application up only on frame boundaries, i.e.
  343. time = n*(1/frame_rate).  However, the draw process "floats" with
  344. respect to the frame rate and wakes up on the next possible field
  345. boundary and then does a swapbuffers() when it's done, regardless of
  346. whether it finished drawing in time for the desired frame rate.  Hence
  347. you see every frame that's drawn to the backbuffer, but it may not
  348. appear at exactly the time for which it was planned.  If you never
  349. frame extend, it behaves like PFPHASE_FIXED.  Latency is variable.
  350.  
  351. PFPHASE_LOCK wakes the application and draw up only on frame boundaries
  352. and only swaps on frame boundaries.  The advantage is that each new
  353. image always appears at precisely the time for which it was rendered.
  354. The disadvantage is that if the draw runs even slightly over a frame
  355. time, you skip that entire frame and are stuck with an outdated picture
  356. for a frame.  Latency is fixed.
  357.  
  358. For more information see the pfPhase() man page or section 7.1.2 of the
  359. PFPG.
  360.  
  361. ------------------------------
  362.  
  363. Subject:   -14- Which rendering primitives does IRIS Performer support?
  364. Date: 06 Oct 93 00:00:01 EST
  365.  
  366. Points (PFGS_POINTS), 
  367. Independent line segments (PFGS_LINES), 
  368. connected line strips (PFGS_LINESTRIPS), 
  369. Independent Triangles (PFGS_TRIS), 
  370. Connected triangle strips (PFGS_TRISTRIPS),
  371. Independent quadrilaterals (PFGS_QUADS).
  372.  
  373. ------------------------------
  374.  
  375. Subject:   -15- How do I do triangle meshes in Performer?
  376. Date: 06 Oct 93 00:00:01 EST
  377.  
  378. You must change your triangle meshes to triangle strips by hand.  In
  379. Performer 1.2, pfuMeshGSet (from libpfutil) will do this for you.
  380.  
  381. ------------------------------
  382.  
  383. Subject:   -16- pfInit(): mmap failed for /dev/zero
  384. Date: 26 Oct 93 00:00:01 EST
  385.  
  386. This means that you tried to run a Performer 1.0 application (such as a
  387. 4.x version of perfly) on a machine running IRIX 5.x.  Virtual memory
  388. management is different in IRIX 5.x.  In order for your program to work
  389. properly you must:
  390.  
  391.     % setenv PFTMPDIR /usr/tmp
  392.  
  393. ------------------------------
  394.  
  395. Subject:   -17- IRIX 5.x Bug in Performer Town or Village demos
  396. Date: 26 Oct 93 00:00:01 EST
  397.  
  398. It was reported that perfly would cause an Onyx RE or VTX running IRIX
  399. 5.0 to hang.  This was fixed in 5.0.1.
  400.  
  401. In 5.0.1, perfly would generate floating point exceptions due to a bug
  402. in the font manager library (libfm).  This was fixed in 5.1.
  403.  
  404. ------------------------------
  405.  
  406. Subject:   -18- 1.0 Doc Bug in pfMakePolarSeg() man page
  407. Date: 26 Oct 93 00:00:01 EST
  408.  
  409. The man page for pfMakePolarSeg contradicts itself with respect to the
  410. meaning of azimuth and elevation. The correct paragraph should be:
  411.  
  412.     pfMakePolarSeg sets dst to the segment which starts at pos and has
  413.     length length and points in the direction specified by azi and
  414.     elev.  azi specifies the azimuth (or heading), which is the angle
  415.     which the projection of the segment in the X-Y plane makes with the
  416.     +Y axis.  elev specifies the elevation (or pitch), the angle with
  417.     respect to the X-Y plane.  The positive Y axis is azi=0 and
  418.     elev=0.  Azimuth follows the right hand rule about the +Z azis,
  419.     e.g. -  +90 degrees is the -X axis.  Similarly, elevation follows
  420.     the right hand rule about the X axis, e.g. -  +90 degrees is the +Z
  421.     axis.
  422.  
  423. Note that in IRIS Performer 1.0, an azi and elev of 0.0 is equivalent
  424. to the +X axis while in 1.1, this has been changed to the +Y axis.
  425.  
  426. ------------------------------
  427.  
  428. Subject:   -19- 1.0 Doc Bug in pfDispList() man page
  429. Date: 26 Oct 93 00:00:01 EST
  430.  
  431. The pfDispList man page says the size argument is in bytes; it should
  432. say words.
  433.  
  434. ------------------------------
  435.  
  436. Subject:   -20- 1.0 Doc Bug in PFPG (simple.c)
  437. Date: 26 Oct 93 00:00:01 EST
  438.  
  439. The program simple.c in the IRIS Performer Programming Guide (PFPG)
  440. does not bind a light and draws a black image on Elan systems.  The
  441. corrected version, which creates and binds a light in the pipe
  442. initialization callback, is in /usr/src/Performer/src/pguide
  443.  
  444. ------------------------------
  445.  
  446. Subject:   -21- 1.0 Bug in pfGetTime()
  447. Date: 26 Oct 93 00:00:01 EST
  448.  
  449. In 1.0, pfGetTime() would occasionally return bad values (off by 4000+
  450. seconds) on Indigo2 and machines without a fast counter, e.g.
  451. PowerSeries/IO2.
  452.  
  453. There was no workaround.
  454.  
  455. ------------------------------
  456.  
  457. Subject:   -22- 1.0 Bug in pfNodeBBox()
  458. Date: 26 Oct 93 00:00:01 EST
  459.  
  460. pfNodeBBox did not set the bounding box of a node.  A symptom was that
  461. the bounding boxes of the node would not change when modifying a parent
  462. pfDCS.
  463.  
  464. The workaround was to OR the value 0x0010 into the mode, e.g.-
  465.  
  466.    pfNodeBBox(node, &bbox, PFN_BMODE_STATIC | 0x0010);
  467.  
  468. ------------------------------
  469.  
  470. Subject:   -23- 1.0 Bug in pfInitGfx() with Z-buffer on RealityEngine
  471. Date: 26 Oct 93 00:00:01 EST
  472.  
  473. pfInitGfx on RealityEngines would call lsetdepth(0x0, 0x0), essentially
  474. disabling zbuffering.
  475.  
  476. The workaround was to call lsetdepth explicitly after pfInitGfx, in the
  477. pipe initialization callback.
  478.  
  479. ------------------------------
  480.  
  481. Subject:   -24- 1.0 Bug in libpfflt combineLODs()
  482. Date: 26 Oct 93 00:00:01 EST
  483.  
  484. combineLODs() in the MultiGen .flt converter (in file hier.c) did not
  485. set the LOD center of combined LODs.  This would result in strange LOD
  486. behavior for LODs which were not modelled about the origin.
  487.  
  488. ------------------------------
  489.  
  490. Subject:   -25- 1.0 Bug with two-sided material and pfMtlColorMode()
  491. Date: 26 Oct 93 00:00:01 EST
  492.  
  493. Applying a back-sided material which had a color mode (pfMtlColorMode),
  494. would set the GL lmcolor mode. Since IrisGL does not support lmcolor
  495. for back-sided materials, this could have caused front-sided materials
  496. to use an improper lmcolor mode.
  497.  
  498. ------------------------------
  499.  
  500. Subject:   -26- 1.0 Bug in pfFilePath()
  501. Date: 26 Oct 93 00:00:01 EST
  502.  
  503. pfFilePath would exit with a FATAL error if it was called twice.
  504.  
  505. ------------------------------
  506.  
  507. Subject:   -27- 1.0 Bug in pfGetCurGState()
  508. Date: 26 Oct 93 00:00:01 EST
  509.  
  510. pfGetCurGState returned a pfGeoState which was the top of the state
  511. stack rather than the most recently applied pfGeoState.
  512.  
  513. ------------------------------
  514.  
  515. Subject:   -28- 1.0 Bug in pfGetCurState()
  516. Date: 26 Oct 93 00:00:01 EST
  517.  
  518. pfGetCurState returned a pfGeoState which was the top of the state
  519. stack rather than the current pfState.
  520.  
  521. ------------------------------
  522.  
  523. Subject:   -29- 1.0 Bug with cloned scenes
  524. Date: 26 Oct 93 00:00:01 EST
  525.  
  526. pfClone()'ed scenes were not properly cleaned and did not properly
  527. propagate updates.  In particular, cloned pfSequences did not work.
  528.  
  529. ------------------------------
  530.  
  531. Subject:   -30- 1.0 Bug intersections in collide.c
  532. Date: 26 Oct 93 00:00:01 EST
  533.  
  534. collide.c was shipped with a hardwired intersection mode which turned
  535. off intersection caching, substantially reducing intersection
  536. performance.
  537.  
  538. ------------------------------
  539.  
  540. Subject:   -31- 1.0 Bug with flattened pfLightPoints
  541. Date: 26 Oct 93 00:00:01 EST
  542.  
  543. pfFlatten()'ed pfLightPoints were broken for multiprocessing modes when
  544. the application and cull processes were separate.
  545.  
  546. ------------------------------
  547.  
  548. Subject:   -32- 1.0 Bug intersections with pfSequences
  549. Date: 26 Oct 93 00:00:01 EST
  550.  
  551. Intersections with pfSequences could sometimes turn them off
  552. (PFSEQ_STOP).
  553.  
  554. ------------------------------
  555.  
  556. Subject:   -33- 1.0 Bug intersections with non-indexed quads
  557. Date: 26 Oct 93 00:00:01 EST
  558.  
  559. Intersection caching for non-indexed quads was broken and could case a
  560. core dump when intersection with pfGeoSets of this type.
  561.  
  562. ------------------------------
  563.  
  564. Subject:   -34- 1.0/1.1 Bug intersections with pfSwitch'es
  565. Date: 26 Oct 93 00:00:01 EST
  566.  
  567. Intersections with pfSwitch'es whose value is PFSWITCH_OFF could cause
  568. a core dump.
  569.  
  570. ------------------------------
  571.  
  572. Subject:   -35- 1.0/1.1 Bug with pfTexture()
  573. Date: 26 Oct 93 00:00:01 EST
  574.  
  575. On RealityEngine systems, EXTERNAL format was ignored.
  576.  
  577. ------------------------------
  578.  
  579. Subject:   -36- 1.0/1.1 Bug with pfAntiAlias()
  580. Date: 26 Oct 93 00:00:01 EST
  581.  
  582. On RealityEngine systems, pfAntialias(PFAA_OFF) did not turn off
  583. multisampling.
  584.  
  585. ------------------------------
  586.  
  587. Subject:   -37- 1.0/1.1 Bug with pfFlatten()
  588. Date: 26 Oct 93 00:00:01 EST
  589.  
  590. pfFlatten did not dirty bounding spheres of flattened nodes so they had
  591. improper bounds and would not cull correctly.
  592.  
  593. ------------------------------
  594.  
  595. Subject:   -38- 1.0/1.1 Bug with pfSequences
  596. Date: 26 Oct 93 00:00:01 EST
  597.  
  598. pfSequences: PFSEQ_RESUME ignored children's display times and drew
  599. subsequent children for 1 frame only.
  600.  
  601. ------------------------------
  602.  
  603. Subject:   -39- 1.0/1.1 Bug with pfClosestPtOnPlane()
  604. Date: 26 Oct 93 00:00:01 EST
  605.  
  606. pfClosestPtOnPlane returned wrong result.  Also, the man page had the
  607. wrong prototype.
  608.  
  609. ------------------------------
  610.  
  611. Subject:   -40- 1.0/1.1 Bug on ELAN/XS with wireframe PFGS_QUADS
  612. Date: 26 Oct 93 00:00:01 EST
  613.  
  614. On EXPRESS Graphics platforms (XS, XS24, ELAN, etc), wireframe quads
  615. have a stray line from one vertex to "infinity" when displayed in
  616. wireframe mode.
  617.  
  618. ------------------------------
  619.  
  620. Subject:   -41- 1.1 Bug with FP underflow
  621. Date: 26 Oct 93 00:00:01 EST
  622.  
  623. The cull process could encounter an FP underflow that could
  624. periodically affect cull performance.
  625.  
  626. ------------------------------
  627.  
  628. Subject:   -42- 1.1 Bug with Multipipe Onyx
  629. Date: 26 Oct 93 00:00:01 EST
  630.  
  631. There is a bug in the 1.1 multipipe code.  The symptom is a core dump
  632. and an error like:
  633.  
  634.    Performer Fatal (4):pfFree() pointer 0x9c9350 not from pfMalloc
  635.  
  636. The workaround is to do the following after you've created a channel
  637. with pfNewChan:
  638.  
  639.    ((long**)chan)[3] = NULL;
  640.  
  641. ------------------------------
  642.  
  643. End of sgi/faq/performer Digest
  644. ******************************
  645. -- 
  646. The SGI FAQ group                                sgi-faq@viz.tamu.edu
  647. Finger us for info on the SGI FAQs, or look in viz.tamu.edu:/pub/sgi.
  648.  
  649.  
  650.